進捗テーブル
table: 理解度
No
5 解けた
4 解けたけど要復習
3 解説が完全に理解できる
s = [list(map(int, input().split())) for _ in range(4)]
a = s[0]
b = s[1]
c = s[2]
d = s[3]
# 角度 -> 傾き
ab = 0
if (s[1][1] - s[0][1]) != 0:
ab = (s[1][0] - s[0][0]) / (s[1][1] - s[0][1])
bc = 0
if (s[2][1] - s[1][1]) != 0:
bc = (s[2][0] - s[1][0]) / (s[2][1] - s[1][1])
cd = 0
if (s[3][1] - s[2][1]) != 0:
cd = ([3][0] - s[2][0]) / (s[3][1] - s[2][1])
da = 0
if (s[0][1] - s[3][1]) != 0:
da = ([0][0] - s[3][0]) / (s[0][1] - s[3][1])
print(ab, bc, cd, da)
ax, ay = map(int, input().split())
bx, by = map(int, input().split())
cx, cy = map(int, input().split())
dx, dy = map(int, input().split())
def area(a, b, c):
ab = [b[0] - a[0], b[1] - a[1]]
ac = [c[0] - a[0], c[1] - a[1]]
return ab[0] * ac[1] - ab[1] * ac[0]
# 各三角形の符号付き面積を求める
sign1 = area([ax, ay], [bx, by], [cx, cy])
sign2 = area([bx, by], [cx, cy], [dx, dy])
sign3 = area([cx, cy], [dx, dy], [ax, ay])
sign4 = area([dx, dy], [ax, ay], [bx, by])
if (sign1 < 0) == (sign2 < 0) == (sign3 < 0) == (sign4 < 0):
print("Yes")
else:
print("No")